package com.testing.class4;

import com.testing.web.WebKeywords;

/**
 * @Classname ShopAdminTest
 * @Description 类型说明
 * @Date 2023/10/17 20:11
 * @Created by 特斯汀Roy
 */
public class ShopAdminTest {
    public static void main(String[] args) {
        //登录
        WebKeywords web = new WebKeywords();
        web.open("chrome");
        web.visitWeb("http://www.testingedu.com.cn:8000/Admin");
        web.input("//input[@name='username']", "admin");
        web.input("//input[@name='password']", "123456");
        web.input("//input[@name='vertify']", "1");
        web.click("//input[@name='submit']");

        //点击商城中的添加商品
        web.click("//a[text()='商城']");
        web.switchIframe("workspace");
        web.click("//span[text()='添加商品']");

        //输入商品的信息
        web.input("[name='goods_name']", "VIP14后台添加商品");
        web.input("[name='shop_price']", "1000");
        web.input("[name='market_price']", "1200");

        //下拉栏选择商品类型
        //通过点击实现
//        web.click("#cat_id");
//        web.click("//option[contains(text(),'家居')]");
        //通过select方法进行操作
        web.selectByText("#cat_id", "服饰");
        web.halt("0.5");
        web.selectByText("#cat_id_2", "男装");
        web.halt("0.5");
        web.selectByText("#cat_id_3", "羽绒服");


        //上传文件
        web.click("//input[contains(@title,\"预览图\")]");
        //基于经验判断，应该是iframe1
        web.switchIframe("layui-layer-iframe1");
        //通过点击文件上传按钮，打开windows文件管理器之后用robot来进行操作。
//        web.click("//div[text()='点击选择文件']/following-sibling::div//label");
//        web.halt("2");
//        //robot的操作，可就没有什么隐式等待了。
//        web.robotInput("E:\\QSwork\\素材\\图片素材\\airtestLogo.jpg");
//        web.robotEnter();
        //通过直接操作实际完成上传的input元素通过sendKeys完成输入。
        web.input("//div[text()='点击选择文件']/following-sibling::div//input", "E:\\QSwork\\素材\\图片素材\\airtestLogo.jpg");

        web.click("//div[text()='确定使用']");


        //当前操作在文件上传iframe里面。虽然iframe没了，但是selenium不知道出来。
        web.switchToParent();
        //因为层级是 top -> workspace -> layui-layer  所以两种方式回到workspace
//        web.switchToTop();
//        web.switchIframe("workspace");
        //选择是否包邮
        web.click("//label[text()='是否包邮']/../following-sibling::dd//label[text()='是']");

        //富文本框输入内容
        web.switchIframe("ueditor_0");


        //注意，就算使用js执行，也要先切到iframe中。
        //滚动浏览器，以下两种方式，都可以达成目标
        //直接滚动到指定坐标
//        web.runJs("window.scrollTo(0,1000)");
        //将元素滚动到屏幕范围之内。
//        web.runJsWithElement("//a[text()='确认提交']","scrollIntoView()");
//        web.runJsWithElement("//p","innerHTML='这是VIP14的商品'");
        //比较诡异，用input也能进行输入
        web.input("//p", "这是VIP14的商品");

        //切回workspace
        web.switchToParent();
        web.click("//a[text()='确认提交']");
        //断言商品列表的第一个元素是VIP14
        web.assertElementTextContains("//div[@id='flexigrid']/table//tr[1]/td[4]/div","VIP14");

        web.halt("10");
        web.quit();
    }
}
